package com.cmc6.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cmc6.common.model.dto.NotEmptyIdSet;
import com.cmc6.common.model.dto.NotNullId;
import com.cmc6.user.model.dto.UserAnalysisUserNumberDTO;
import com.cmc6.user.model.dto.UserInsertOrUpdateDTO;
import com.cmc6.user.model.dto.UserPageDTO;
import com.cmc6.user.model.dto.UserUpdatePasswordDTO;
import com.cmc6.user.model.vo.UserAnalysisUserNumberVO;
import com.cmc6.user.model.vo.UserPageVO;

import java.util.List;

public interface UserService {

    String insertOrUpdate(UserInsertOrUpdateDTO dto);

    void checkOrigPassword(String origPassword);

    Page<UserPageVO> myPage(UserPageDTO dto);

    String deleteByIdSet(NotEmptyIdSet notEmptyIdSet);

    UserPageVO infoById(NotNullId notNullId);

    String refreshJwtSecretSuf(NotEmptyIdSet notEmptyIdSet);

    String rsaDecrypt(String str);

    String rsaDecrypt(String str, String privateKey);

    String resetAvatar(NotEmptyIdSet notEmptyIdSet);

    String updatePassword(UserUpdatePasswordDTO dto);

    boolean checkEmailExist(String email, Long userId);

    boolean checkPhoneExist(String phone, Long userId);

    List<UserAnalysisUserNumberVO> analysisUserNumber(UserAnalysisUserNumberDTO dto);

}
